home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / oath.lha / oath / test / toks0.cc < prev    next >
C/C++ Source or Header  |  1991-08-29  |  3KB  |  104 lines

  1. #include "../src/ensure.cc"
  2.  
  3. #include "../src/typeRegisterP.cc"
  4.  
  5. #include "../src/exportP.cc"
  6.  
  7. #include "../src/oathCore.cc"
  8.  
  9. #include "../src/obj.cc"
  10.  
  11. #include "../src/token.cc"
  12.  
  13. #include "../src/character.cc"
  14.  
  15. #include "../src/bag.cc"
  16.  
  17. #include "../src/queue.cc"
  18.  
  19. #include "../src/seq.cc"
  20.  
  21. #include "../src/lifoQueue.cc"
  22.  
  23. #include "../src/slNodeP.cc"
  24.  
  25. #include "../src/pdlQueue.cc"
  26.  
  27. #include "../src/fifoQueue.cc"
  28.  
  29. #include "../src/deq.cc"
  30.  
  31. #include "../src/list.cc"
  32.  
  33. #include "../src/dlNodeP.cc"
  34.  
  35. #include "../src/dlList.cc"
  36.  
  37. #include "../src/string.cc"
  38.  
  39. #include "../src/dlcNodeP.cc"
  40.  
  41. #include "../src/minString.cc"
  42.  
  43. #include "../src/table.cc"
  44.  
  45. #include "../src/stringTable.cc"
  46.  
  47. //***************************************************************************
  48.  
  49.  
  50. main()
  51.    {characterA R = characterA::make('r');
  52.     characterA S = characterA::make('s');
  53.     characterA T = characterA::make('t');
  54.     characterA L = characterA::make('l');
  55.     characterA N = characterA::make('n');
  56.     characterA E = characterA::make('e');
  57.     characterA A = characterA::make('a');
  58.  
  59.     stringA Star   = minStringA::make() << T << A << R;
  60.     stringA Star2  = minStringA::make() << T << A << R;
  61.     stringA Sstar  = minStringA::make() << S << Star;
  62.     stringA Sstare = minStringA::make() << S << Star << E;
  63.  
  64.     cout << Star.am()   << "\t(" << Star.hash()   << ")" << endl;
  65.     cout << Star2.am()  << "\t(" << Star2.hash()  << ")" << endl;
  66.     cout << Sstar.am()    << "\t(" << Sstar.hash()  << ")" << endl;
  67.     cout << Sstare.am() << "\t(" << Sstare.hash() << ")" << endl;
  68.  
  69.     if(Star == Star2)
  70.         cout << "Star == Star2" << endl;
  71.     if(Star != Sstar)
  72.         cout << "Star != Sstar" << endl;
  73.  
  74.     cout << "Begin forming tokens:" << endl;
  75.     stringTokenA Ttar   = stringTokenA::make(Star);
  76.     stringTokenA Ttar2  = stringTokenA::make(Star2);
  77.     stringTokenA Tstar  = stringTokenA::make(Sstar);
  78.     stringTokenA Tstare = stringTokenA::make(Sstare);
  79.  
  80.     if(Ttar == Ttar2)
  81.         cout << "Ttar == Ttar2" << endl;
  82.     if(Ttar == Tstar)
  83.         cout << "Oops: Ttar == Tstar" << endl;    
  84.   
  85.     stringTableA Table = stringTableA::make(255);
  86.     Table.insert(Ttar, Star);
  87.     Table.insert(Tstar, Sstar);
  88.     Table.insert(Tstare, Sstare);
  89.     cout << "Table formed." << endl;
  90.  
  91.     if(Table.contains(Ttar)) cout << "Table has member Ttar." << endl;
  92.     stringA Atar  = stringA::isa(Table.assoc(Ttar));
  93.     if(!!Atar) cout  << "Atar  = " << Atar.am() << endl;
  94.     if(Table.contains(Ttar2)) cout << "Table has member Ttar2." << endl;
  95.     stringA Atar2  = stringA::isa(Table.assoc(Ttar2));
  96.     if(!!Atar2) cout  << "Atar2 = " << Atar2.am() << endl;
  97.     if(Table.contains(Tstar)) cout << "Table has member Tstar." << endl;
  98.     stringA Astar   = stringA::isa(Table.assoc(Tstar));
  99.     if(!!Astar) cout   << "Astar = " << Astar.am() << endl;
  100.     if(Table.contains(Tstare)) cout << "Table has member Tstare." << endl;
  101.     stringA Astare   = stringA::isa(Table.assoc(Tstare));
  102.     if(!!Astare) cout   << "Astare= " << Astare.am() << endl;
  103.  
  104.    }